home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / Fresco / build / Unix / config / cf / Ixx.tmpl < prev    next >
Text File  |  1995-07-12  |  4KB  |  155 lines

  1. XCOMM $XConsortium: Ixx.tmpl,v 1.5 94/03/28 17:13:30 matt Exp $
  2. XCOMM
  3. XCOMM Definitions for using interface translator
  4. XCOMM
  5.  
  6. #ifndef IxCmd
  7. #ifdef UseInstalled
  8. #define IxCmd ixx
  9. #else
  10. #define IxCmd $(IXXSRC)/ixx
  11. #endif
  12. #endif
  13.  
  14. #ifndef IxCpp
  15. #define IxCpp CppCmd
  16. #endif
  17.  
  18. #ifndef IxConfig
  19. #define IxConfig -dii -stubclass -prefix Xf
  20. #endif
  21.  
  22. #ifndef IxFlags
  23. #define IxFlags $(IXCONFIG) $(EXTRA_IXFLAGS)
  24. #endif
  25.  
  26. #ifndef IxIncludes
  27. #define IxIncludes -i '<Fresco/defs/_enter.h>'
  28. #endif
  29.  
  30. IX = IxCmd
  31. IXCPP = IxCpp
  32. IXCONFIG = IxConfig
  33. IXFLAGS = IxFlags
  34. IXINCLUDES = IxIncludes
  35. IXCPPINCLUDES = $(CXXINCLUDES) $(CXXIDL_INCLUDES)
  36.  
  37. .SUFFIXES: .idl
  38.  
  39. #ifndef MakeIDLHeader
  40. #define MakeIDLHeader(name_idl,name_h,flags)                @@\
  41. headers:: name_h                            @@\
  42. name_h: name_idl                            @@\
  43.     @$(RM) name_h name_h-ix                        @@\
  44.     @echo "Generating name_h from name_idl"                @@\
  45.     @$(IXCPP) $(CXXDEFINES) $(IXCPPINCLUDES) name_idl | \         @@\
  46.         $(IX) flags > name_h-ix                    @@\
  47.     @$(MV) name_h-ix name_h                        @@\
  48.     @chmod a-w name_h                        @@\
  49.                                     @@\
  50. clean_headers::                                @@\
  51.     $(RM) name_h
  52. #endif
  53.  
  54. #ifndef MakeHeaderInDirFlags(dir,name,flags)
  55. #define MakeHeaderInDirFlags(dir,name,flags) \
  56. MakeIDLHeader(dir/name.idl,dir/name.h,\
  57. -file dir/name.idl $(IXFLAGS) $(IXINCLUDES) flags)
  58. #endif
  59.  
  60. #ifndef MakeHeaderInDir(dir,name)
  61. #define MakeHeaderInDir(dir,name) \
  62. MakeHeaderInDirFlags(dir,name,NullParameter)
  63. #endif
  64.  
  65. #ifndef MakeHeaderFlags
  66. #define MakeHeaderFlags(name,flags) \
  67. MakeHeaderInDirFlags(.,name,flags)
  68. #endif
  69.  
  70. #ifndef MakeHeader
  71. #define MakeHeader(name) \
  72. MakeHeaderFlags(name,NullParameter)
  73. #endif
  74.  
  75. #ifndef EditImplName
  76. #define EditImplName(dep,name,interfaces,flags,tmp)            @@\
  77. filter:: dep                                @@\
  78. dep:: interfaces                            @@\
  79.     @$(RM) tmp                            @@\
  80.     @echo "Editing" name                        @@\
  81.     @cat interfaces | $(IXCPP) $(CXXDEFINES) $(IXCPPINCLUDES) | \    @@\
  82.         $(IX) flags -filter name > tmp                @@\
  83.     @$(MOVEIFCHANGE) tmp name
  84. #endif
  85.  
  86. .SUFFIXES: .filter
  87.  
  88. #ifndef EditImplFlags
  89. #define EditImplFlags(name,interfaces,flags) \
  90. EditImplName(name.filter,name.CCsuf,interfaces,flags,name-new.CCsuf)
  91. #endif
  92.  
  93. #ifndef EditImpl
  94. #define EditImpl(name,interfaces) \
  95. EditImplFlags(name,interfaces,$(IXFLAGS))
  96. #endif
  97.  
  98. #ifndef EditImplHeaderFlags
  99. #define EditImplHeaderFlags(name,interfaces,flags) \
  100. EditImplName(name.filter,name.h,interfaces,flags,name-new.h)
  101. #endif
  102.  
  103. #ifndef EditImplHeader
  104. #define EditImplHeader(name,interfaces) \
  105. EditImplHeaderFlags(name,interfaces,$(IXFLAGS))
  106. #endif
  107.  
  108. #ifndef MakeSchemaFlags
  109. #define MakeSchemaFlags(schema_name,interfaces,type_ids_list,flags)    @@\
  110. filter:: type_ids.filter                        @@\
  111. type_ids.filter:: type_ids_list                        @@\
  112.     @echo "Building" schema_name                    @@\
  113.     @cat interfaces schema_name type_ids_list | \            @@\
  114.         $(IXCPP) -DIX_SCHEMA $(CXXDEFINES) $(IXCPPINCLUDES)  | \    @@\
  115.         $(IX) flags -schema schema_name-ix                @@\
  116.     @$(MOVEIFCHANGE) schema_name-ix schema_name
  117. #endif
  118.  
  119. #ifndef IxSchemaFlags
  120. #define IxSchemaFlags -stubinclude '<Fresco/Ox/stub.h>'
  121. #endif
  122.  
  123. IXSCHEMAFLAGS = $(IXFLAGS) IxSchemaFlags
  124.  
  125. #ifndef MakeSchema
  126. #define MakeSchema(schema,interfaces) \
  127. MakeSchemaFlags(schema,interfaces,$(TYPE_ID_LISTS),$(IXSCHEMAFLAGS))
  128. #endif
  129.  
  130. #ifndef MakeSchemaInit
  131. #define MakeSchemaInit(schema,init,interfaces) \
  132. MakeSchemaFlags(schema,interfaces,$(TYPE_ID_LISTS),$(IXSCHEMAFLAGS) -serverinit init)
  133. #endif
  134.  
  135. #ifndef MakeSchemaList
  136. #define MakeSchemaList(list,hdrs)                    @@\
  137. list: hdrs                                @@\
  138.     @$(RM) list                            @@\
  139.     @echo "Generating list"                        @@\
  140.     @grep _Ix_SymbolDef hdrs | \                    @@\
  141.         sed -e 's/.*SymbolDef \(.*\)$$/\#pragma ix ? \1/' > list    @@\
  142.                                     @@\
  143. clean::                                    @@\
  144.     $(RM) list
  145. #endif
  146.  
  147. INTERFACES = *.idl
  148.  
  149. #ifndef DependHeaders
  150. #define DependHeaders()                                                 @@\
  151. depend::                                                                @@\
  152.     $(DEPEND) -o.h -s "# DO NOT DELETE" -- $(CXXINCLUDES) -- \
  153.         $(INTERFACES)
  154. #endif
  155.